﻿/*
Plugin=getDocumentPath
Name1=发送到启动文件夹(动态)
Command1=DM_open_path1
;~ Param1={tc|TOTALCMD.EXE|TOTALCMD|资管|资源管理器|explorer|explorer.exe}
Author=yyy  Run修改
Version=1.0
注释：
在菜单编辑界面的命令框输入函数名称（不带括弧）即可调用函数，只是这样不会在内置命令列表里面显示
*/


/*
打开程序编辑文件所在位置

支持程序：
1、com 方式：Word、Excel、PowerPoint、SciTE
2、窗口标题方式：EverEdit、EmEditor、Sublime text、notepad2、notepad++ 等智能获取，灵感来自 Array
3、启动参数方式：帮助文档、压缩包、图片查看等

com 来自 sunwind，winmgmt 来自 Array

版本更新：
1.0 初版。
1.1 修正路径有2个空格及以上的问题。
1.2 改用新的提取路径方法。最终路径如果不存在为程序 exe 路径。
*/


DM_open_path1(aParam){    ; 此Plugin执行的command为Test，代表执行Test函数,函数请预留一个aParam，用于QuickZ传递参数过来。
	icon:=A_ScriptDir . "\User\Icons\explorer.ico"
    open_path_Menu := MenuZ_GetSibling() ; 获取一个菜单对象，不是子菜单，是同级菜单
    ;~ open_path_Menu := MenuZ_GetSub() ; 获取一个子菜单对象，跟上面的不一样
    ;~ TestMenu.Add({name:"你好"，icon:"" }) ;   如果参数不是变量的话需要用引号引起来，中间的参数不能省略，可以给赋空值，像这儿的icon
    open_path_Menu.Add({name:"左键发送到启动文件夹 右键打开启动文件夹",icon: icon,uid:{Handle:"dm_open_path_Handle1",Data:aParam}}) ; Handle的值为点击菜单后执行的功能
    return open_path_Menu  ; 必须返回子菜单对象
}


dm_open_path_Handle1(aMsg, aObj)
{
	;~ if ( aMsg = "onselect" )           ;如果鼠标移动到菜单上显示提示信息，显示的时候一卡一卡的，体验不好，暂且关掉
	;~ {
    ;~ rect := aObj.GetRECT()
    ;~ CoordMode, ToolTip, Screen
    ;~ tooltip,% "左键资管打开 右键TC打开 中键打开程序exe的路径" ,% rect.right,% rect.top
	;~ sleep 300
	;~ ToolTip
	;~ }
    If (aMsg = "OnRun")
		发送快捷方式到启动文件夹1()
	;~ else If (aMsg = "onmbutton")
		;~ 打开启动文件夹()
	else If (aMsg = "OnRButton")		;中键点击后菜单不消失，没找到解决办法
		打开启动文件夹()
}

发送快捷方式到启动文件夹1(){
path_exe := QZData( "{file:path}" )
fileName := QZData( "{file:namenoext}" )
;~ MsgBox % filename
RegRead, folder_startup, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, Startup
FileCreateShortcut, %path_exe%, %folder_startup%\%fileName%.lnk
;~ run %folder_startup%
IfExist,%folder_startup%\%fileName%.lnk
	TrayTip,,已经成功设置%fileName%自启动!,10
;~ Sleep,3000
return
}
打开启动文件夹(){
RegRead, folder_startup, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, Startup
run %folder_startup%
return
}















